<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="utf-8">
  <title>Performance Timeline</title>
<style type="text/css">
   pre.idl { border:solid thin; background:#eee; color:#000; padding:0.5em }
   pre.idl :link, pre.idl :visited { color:inherit; background:transparent }
   pre code { color:inherit; background:transparent }
   div.example { margin-left:1em; padding-left:1em; border-left:double; color:#222; background:#fcfcfc }
   .note { margin-left:2em; font-weight:bold; font-style:italic; color:#008000 }
   p.note::before { content:"Note: " }
   .XXX { padding:.5em; border:solid #f00 }
   p.XXX::before { content:"Issue: " }
   dl.switch { padding-left:2em }
   dl.switch > dt { text-indent:-1.5em }
   dl.switch > dt:before { content:'\21AA'; padding:0 0.5em 0 0; display:inline-block; width:1em; text-align:right; line-height:0.5em }
   dl.domintro { color: green; margin: 2em 0 2em 2em; padding: 0.5em 1em; border: none; background: #DDFFDD; }
   dl.domintro dt, dl.domintro dt * { color: black; text-decoration: none; }
   dl.domintro dd { margin: 0.5em 0 1em 2em; padding: 0; }
   dl.domintro dd p { margin: 0.5em 0; }
   dl.domintro:before { display: table; margin: -1em -0.5em -0.5em auto; width: auto; content: 'This box is non-normative. Implementation requirements are given below this box.'; color: red; border: solid 2px; background: white; padding: 0 0.25em; }
   em.ct { text-transform:lowercase; font-variant:small-caps; font-style:normal }
   dfn { font-weight:bold; font-style:normal }
   code { color:orangered }
   code :link, code :visited { color:inherit }
   hr:not(.top) { display:block; background:none; border:none; padding:0; margin:2em 0; height:auto }
   table { border-collapse:collapse; border-style:hidden hidden none hidden }
   table thead { border-bottom:solid }
   table tbody th:first-child { border-left:solid }
   table td, table th { border-left:solid; border-right:solid; border-bottom:solid thin; vertical-align:top; padding:0.2em }
   div.parameters { display:block; margin-left: 25px;}
   div.parameterDefinition { display:block; margin-left: 25px;}
   div.methods { display:block; margin-top:30px; margin-left :25px;}
  </style>
  <link href="https://www.w3.org/StyleSheets/TR/W3C-ED.css" rel="stylesheet" type="text/css">
</head>

<body class="draft">

<div class="head">
<h1>Performance Timeline</h1>

<h2 class="no-num no-toc" id="editors-draft-october-23-2013">Editor's Draft October 23, 2013</h2>
<dl>
  <dt>This version:</dt>
    <dd><a
      href="http://dvcs.w3.org/hg/webperf/raw-file/tip/specs/PerformanceTimeline/Overview.html">http://dvcs.w3.org/hg/webperf/raw-file/tip/specs/PerformanceTimeline/Overview.html</a></dd>
  <dt>Latest version:</dt>
    <dd><a
      href="http://www.w3.org/TR/performance-timeline/">http://www.w3.org/TR/performance-timeline/</a></dd>
  <dt>Latest Editor's Draft:</dt>
    <dd><a
      href="http://dvcs.w3.org/hg/webperf/raw-file/tip/specs/PerformanceTimeline/Overview.html">http://dvcs.w3.org/hg/webperf/raw-file/tip/specs/PerformanceTimeline/Overview.html</a></dd>
  <dt>Previous versions:</dt>
    <dd><a href="http://www.w3.org/TR/2012/CR-performance-timeline-20120726/">http://www.w3.org/TR/2012/CR-performance-timeline-20120726/</a></dd>
    <dd><a href="http://www.w3.org/TR/2012/WD-performance-timeline-20120508/">http://www.w3.org/TR/2012/WD-performance-timeline-20120508/</a></dd>
  <dt>Editors:</dt>
    <dd class="vcard"><span class="fn">Jatinder Mann</span>, <span
      class="org">Microsoft Corp.</span>, &lt;<a
      class="email" href="mailto:jmann@microsoft.com">jmann@microsoft.com</a>&gt; </dd>
    <dd class="vcard"><span class="fn">Zhiheng Wang</span>, <span
      class="org">Google Inc.</span> (Until July 2013)</dd>
</dl>

   <p class=copyright><a
    href="http://www.w3.org/Consortium/Legal/ipr-notice#Copyright">Copyright</a>
    &copy; 2012 <a href="http://www.w3.org/"><abbr title="World Wide Web
    Consortium">W3C</abbr></a><sup>&reg;</sup> (<a
    href="http://www.csail.mit.edu/"><abbr title="Massachusetts Institute
    of Technology">MIT</abbr></a>, <a
    href="http://www.ercim.eu/"><abbr title="European Research Consortium
    for Informatics and Mathematics">ERCIM</abbr></a>, <a
    href="http://www.keio.ac.jp/">Keio</a>, <a href="http://ev.buaa.edu.cn/">Beihang</a>), All Rights Reserved. W3C <a
    href="http://www.w3.org/Consortium/Legal/ipr-notice#Legal_Disclaimer">liability</a>,
    <a
    href="http://www.w3.org/Consortium/Legal/ipr-notice#W3C_Trademarks">trademark</a>

    and <a
    href="http://www.w3.org/Consortium/Legal/copyright-documents">document
    use</a> rules apply.</p>

   <hr class='top'>
</div>

<h2 class="no-num no-toc" id="abstract">Abstract</h2>

<p>This specification defines an unified interface to store and retrieve performance metric data. 
This specification does not cover individual performance metric interfaces.</p>

<h2 class="no-num no-toc" id="status-of-this-document">Status of this
document</h2>

  <p><em>This section describes the status of this document at the time of
   its publication. Other documents may supersede this document. A list of
   current W3C publications and the latest revision of this technical report
   can be found in the <a href="http://www.w3.org/TR/">W3C technical reports
   index</a> at http://www.w3.org/TR/.</em></p>

<p>This is a <strong>work in progress</strong> and may change without any
notices. </p>

<p>Please send comments
   to <a href="mailto:public-web-perf@w3.org?subject=%5BPerformanceTimeline%5D%20">public-web-perf@w3.org</a>
   (<a href="http://lists.w3.org/Archives/Public/public-web-perf/">archived</a>)
   with <samp>[PerformanceTimeline]</samp> at the start of the subject line.</p>

<p>This document is produced by
   the <a href="http://www.w3.org/2010/webperf/">Web Performance</a>
   Working Group. The Web Performance Working Group is part of
   the <a href="http://www.w3.org/2006/rwc/Activity">Rich Web Clients
   Activity</a> in the
   W3C <a href="http://www.w3.org/Interaction/">Interaction
   Domain</a>.

<p>Publication as a Working Draft does not imply endorsement by the
W3C Membership. This is a draft document and may be updated, replaced
or obsoleted by other documents at any time. It is inappropriate to
cite this document as other than work in progress. </p>

<p>This document was produced by a group operating under
   the <a href="http://www.w3.org/Consortium/Patent-Policy-20040205/">5
   February 2004 W3C Patent Policy</a>. W3C maintains
   a <a href="http://www.w3.org/2004/01/pp-impl/45211/status"
   rel="disclosure">public list of any patent disclosures</a> made in
   connection with the deliverables of the group; that page also
   includes instructions for disclosing a patent. An individual who
   has actual knowledge of a patent which the individual believes
   contains <a href="http://www.w3.org/Consortium/Patent-Policy-20040205/#def-essential">Essential
   Claim(s)</a> must disclose the information in accordance
   with <a href="http://www.w3.org/Consortium/Patent-Policy-20040205/#sec-Disclosure">section
   6 of the W3C Patent Policy</a>.</p>


<h2 class="no-num no-toc" id="table-of-contents">Table of Contents</h2>
<!--begin-toc-->
<ol class="toc">
  <li><a href="#introduction"><span class="secno">1
  </span>Introduction</a></li>
  <li><a href="#conformance-requirements"><span class="secno">2
    </span>Conformance requirements</a></li>
  <li><a href="#terminology"><span class="secno">3 </span>Terminology</a></li>
  <li><a href="#sec-navigation-timing"><span class="secno">4 </span>Performance Timeline</a> 
    <ol class="toc">
      <li><a href="#sec-performance-timeline"><span class="secno">4.1 </span> The Performance Timeline</a></li>
      <li><a href="#sec-PerformanceEntry-interface"><span class="secno">4.2 </span>The <code>PerformanceEntry</code> interface</a></li>
      <li><a href="#sec-window.performance-attribute"><span class="secno">4.3 </span> Extensions to the <code>Performance</code> interface</a></li>
      <li><a href="#sec-vendor-extensions"><span class="secno">4.4 </span> Vendor Extensions</a></li>
    </ol>
  </li>
  <li><a href="#references"><span class="secno">5 </span>References</a></li>
  <li><a class="no-num" href="#acknowledgements">Acknowledgements</a></li>
</ol>
<!--end-toc-->


<h2 id="introduction"><span class="secno">1 </span>Introduction</h2>

<p>This section is non-normative.</p>

<p>
Accurately measuring performance characteristics of web applications
is an important aspect of making web applications
faster. <a href='#NavigationTiming'>[Navigation
Timing]</a>, <a href='#ResourceTiming'>[Resource Timing]</a>,
and <a href='#UserTiming'>[User Timing]</a> are examples of
specifications that define timing information related to the
navigation of the document, resources on the page, and developer
scripts, respectively.
</p>
<p>
Together these interfaces, and potentially others created in the future, define performance metrics
that describe the performance timeline of a web application. This
specification provides an unifying interface to access and retrieve these various performance metrics from the performance timeline of a
web application.  
</p>

<div class="example">
<p>The following script shows how a developer can use the <a href="#performanceentry"><code>PerformanceEntry</code></a> interface
to obtain timing data related to the navigation of the document, resources on the page and developer scripts.
</p>
<pre>
&lt;!doctype html&gt;
&lt;html&gt;
  &lt;head&gt;
  &lt;/head&gt;
  &lt;body onload="init()"&gt;
    &lt;img id="image0" src="http://www.w3.org/Icons/w3c_main.png" /&gt;
    &lt;script&gt;
       function init() 
       {
            performance.mark("startWork"); // see <a href='#UserTiming'>[User Timing]</a>
            doWork(); // Some developer code
            performance.mark("endWork");
            
            measurePerf();
       }

       function measurePerf() 
       {
           var perfEntries = performance.getEntries();
           for (var i = 0; i &lt; perfEntries.length; i++)
           {
                 if (window.console) console.log("Name: "        + perfEntries[i].name      + 
                                                 " Entry Type: " + perfEntries[i].entryType +
                                                 " Start Time: " + perfEntries[i].startTime + 
                                                 " Duration: "   + perfEntries[i].duration  + "\n");
           }
       }
    &lt;/script&gt;
  &lt;/body&gt;
&lt;/html&gt;
</pre>
</div>

<h2 id="conformance-requirements"><span class="secno">2 </span>Conformance
requirements</h2>

<p>All diagrams, examples, and notes in this specification are non-normative,
as are all sections explicitly marked non-normative. Everything else in this
specification is normative. </p>

<p>The key words "MUST", "MUST NOT", "REQUIRED", "SHOULD", "SHOULD NOT",
"RECOMMENDED", "MAY", and "OPTIONAL" in the normative parts of this document
are to be interpreted as described in <a href="#rfc2119">RFC 2119</a>.
For readability, these words do not appear in all uppercase letters in this specification.</p>

<p>Requirements phrased in the imperative as part of algorithms (such as
"strip any leading space characters" or "return false and abort these steps")
are to be interpreted with the meaning of the key word ("must", "should",
"may", etc) used in introducing the algorithm. </p>

<p>Some conformance requirements are phrased as requirements on attributes,
methods or objects. Such requirements are to be interpreted as requirements
on user agents. </p>

<p>Conformance requirements phrased as algorithms or specific steps may be
implemented in any manner, so long as the end result is equivalent. (In
particular, the algorithms defined in this specification are intended to be
easy to follow, and not intended to be performant.) </p>

    <p>The IDL fragments in this specification must be interpreted as
    required for conforming IDL fragments, as described in the Web IDL
    specification. <a href="#WebIDL">[Web IDL]</a></p>

<h2 id="terminology"><span class="secno">3 </span>Terminology</h2>

<p>The construction "a <code title="">Foo</code> object", where <code
title="">Foo</code> is actually an interface, is sometimes used instead of
the more accurate "an object implementing the interface <code
title="">Foo</code>". </p>

<p>
  Throughout this work, all time values are measured in milliseconds since the start of 
  navigation of the document. For example, the start of navigation of the document 
  occurs at time 0. The term <i>current time</i> refers to the number of milliseconds 
  since the start of navigation of the document until the current moment in time. 
  This definition of time is based on the High Resolution Time specification
  [<a href="http://www.w3.org/TR/hr-time/">High Resolution Time</a>] and is different
  from the definition of time used in the Navigation Timing specification 
  [<a href="http://www.w3.org/TR/navigation-timing/">Navigation Timing</a>],
  where time is measured in milliseconds since midnight of January 1, 1970 (UTC).
</p>

<h2 id="sec-navigation-timing"><span class="secno">4 </span>Performance Timeline</h2>

<h3 id="sec-performance-timeline"><span class="secno">4.1 </span> The Performance Timeline</h3>
<p>
	All interfaces that participate in the <a href="#sec-performance-timeline">Performance Timeline</a>, such as the 
	<a href="http://www.w3.org/TR/resource-timing/#performanceresourcetiming"><code>PerformanceResourceTiming</code></a> <a href='#ResourceTiming'>[Resource Timing]</a>, 
	<a href="http://www.w3.org/TR/user-timing/#performancemark"><code>PerformanceMark</code></a>, and
	<a href="http://www.w3.org/TR/user-timing/#performancemeasure"><code>PerformanceMeasure</code></a>  <a href='#UserTiming'>[User Timing]</a> interfaces,
	<span class='rfc2119'>must</span> adhere to the following rules:
</p>

<ul>
	<li><Span Class='Rfc2119'>Must</Span> extend the <a href="#performanceentry"><code>PerformanceEntry</code></a> interface</li>
	<li><Span Class='Rfc2119'>Must</Span> be supported by the 
		<a href="#dom-performance-getentries"><code>getEntries</code></a>,
		<a href="#dom-performance-getentriesbytype"><code>getEntriesByType</code></a>, and
		<a href="#dom-performance-getentriesbyname"><code>getEntriesByName</code></a> methods
	</li>
</ul>	

<h3 id="sec-PerformanceEntry-interface"><span class="secno">4.2 </span> The <a href="#performanceentry"><code>PerformanceEntry</code></a>
interface</h3>
<pre class="idl">interface <dfn id="performanceentry">PerformanceEntry</dfn> {
  readonly attribute <a href='http://www.w3.org/TR/WebIDL/#idl-DOMString'>DOMString</a> <a href='#dom-performanceentry-name' title='name'>name</a>;
  readonly attribute <a href='http://www.w3.org/TR/WebIDL/#idl-DOMString'>DOMString</a> <a href='#dom-performanceentry-entrytype' title='entryType'>entryType</a>;
  readonly attribute <a href="http://www.w3.org/TR/hr-time/#domhighrestimestamp">DOMHighResTimeStamp</a> <a href='#dom-performanceentry-starttime' title='startTime'>startTime</a>;
  readonly attribute <a href="http://www.w3.org/TR/hr-time/#domhighrestimestamp">DOMHighResTimeStamp</a> <a href='#dom-performanceentry-duration' title='duration'>duration</a>;
};
</pre>

<h4 id="dom-performanceentry-name"><code>name</code> attribute</h4>
<p>
	The <code>name</code> attribute <span class='rfc2119'>must</span> return the identifier for this <a href="#performanceentry"><code>PerformanceEntry</code></a> object. This
	identifier does not have to be unique. 
</p>

<h4 id="dom-performanceentry-entrytype"><code>entryType</code> attribute</h4>
<p>
	The <code>entryType</code> attribute <span class='rfc2119'>must</span> return a <a href='http://www.w3.org/TR/WebIDL/#idl-DOMString'><code>DOMString</code></a> that describes the <i>type</i> of the interface represented by this <a href="#performanceentry"><code>PerformanceEntry</code></a> object.
</p>

<div class="note">
<div class="noteHeader">Note</div>
  <p>
    The <a href="http://www.w3.org/wiki/Web_Performance/EntryType">Web Performance/entryType</a> wiki page lists all of the known <code>entryType</code> values.
  </p>
</div>

<h4 id="dom-performanceentry-starttime"><code>startTime</code> attribute</h4>
<p>
	The <code>startTime</code> attribute <span class='rfc2119'>must</span> return a <a href="http://www.w3.org/TR/hr-time/#domhighrestimestamp"><code>DOMHighResTimeStamp</code></a>
	that contains the time value of the first recorded timestamp of this performance metric.
<p>

<h4 id="dom-performanceentry-duration"><code>duration</code> attribute</h4>
<p>
	The <code>duration</code> attribute <span class='rfc2119'>must</span> return a <a href="http://www.w3.org/TR/hr-time/#domhighrestimestamp"><code>DOMHighResTimeStamp</code></a>
	that contains the time value of the duration of the entire event being recorded by this <a href="#performanceentry"><code>PerformanceEntry</code></a>. Typically, this would be the 
	time difference between the last recorded timestamp and the first recorded timestamp of this <a href="#performanceentry"><code>PerformanceEntry</code></a>. A performance metric may choose
	to return a <code>duration</code> of 0, if the duration concept doesn't apply.
<p>

<h3 id="sec-window.performance-attribute"><span class="secno">4.3 </span> Extensions to the <code id="dom-window-performance">Performance</code> interface</h3>
<pre class="idl">partial interface <dfn id="performance">Performance</dfn> {
  <a href="#performanceentrylist">PerformanceEntryList</a> <a href="#dom-performance-getentries">getEntries</a>();
  <a href="#performanceentrylist">PerformanceEntryList</a> <a href="#dom-performance-getentriesbytype">getEntriesByType</a>(DOMString entryType);
  <a href="#performanceentrylist">PerformanceEntryList</a> <a href="#dom-performance-getentriesbyname">getEntriesByName</a>(DOMString name, optional DOMString entryType);
};

typedef sequence &lt;PerformanceEntry&gt; <b><dfn id='performanceentrylist'>PerformanceEntryList</dfn></b>;

</pre>

<p>
The <a href="http://www.w3.org/TR/navigation-timing/#dom-window-performance"><code>window.performance</code></a> attribute provides a hosting area for performance measurement related attributes and methods using the <a href='http://www.w3.org/TR/navigation-timing/#performance'><code>Performance</code></a> interface <a href='#NavigationTiming'>[Navigation Timing]</a>. 
</p>

<div class="methods">
    <h4 id="dom-performance-getentries"><code>getEntries</code> method</h4>
	<p>The <code>getEntries</code> method returns a 
		<a href="#performanceentrylist"><code>PerformanceEntryList</code></a> object that contains a copy of all <a href="#performanceentry"><code>PerformanceEntry</code></a> objects in chronological order with respect to <a href="#dom-performanceentry-starttime">startTime</a>.
    </p>

		<div class="parameters">
				<p><b>No parameters</b></p>
				<p><b>Return value</b></p>
				A <a href="#performanceentrylist"><code>PerformanceEntryList</code></a> object.
				<p><b>No exceptions</b></p>
		</div>
</div>


<div class="methods">
    <h4 id="dom-performance-getentriesbytype"><code>getEntriesByType</code> method</h4>
	<p>The <code>getEntriesByType</code> method returns a 
		<a href="#performanceentrylist"><code>PerformanceEntryList</code></a> object that contains a copy of all <a href="#performanceentry"><code>PerformanceEntry</code></a> objects, in chronological order with respect to <a href="#dom-performanceentry-starttime">startTime</a>, 
		that have the same value for the <code>entryType</code> attribute of <a href="#performanceentry"><code>PerformanceEntry</code></a> as the <code>entryType</code> parameter.
    </p>

		<div class="parameters">
				<p><b>Parameter</b></p>
					<p><a href='http://www.w3.org/TR/WebIDL/#idl-DOMString'><code>DOMString</code></a> <code>entryType</code></p>
                    <p>		
                        A <a href="#performanceentrylist"><code>PerformanceEntryList</code></a> object that contains a copy of <a href="#performanceentry"><code>PerformanceEntry</code></a> objects
				        that have the same value for the <code>entryType</code> attribute of <a href="#performanceentry"><code>PerformanceEntry</code></a> as the <code>entryType</code> parameter.
				        If no such <a href="#performanceentry"><code>PerformanceEntry</code></a> objects exist, the <a href="#performanceentrylist"><code>PerformanceEntryList</code></a>
				        <span class='rfc2119'>must</span> be empty.
		            </p>
				<p><b>Return value</b></p>
		        A <a href="#performanceentrylist"><code>PerformanceEntryList</code></a> object.
				<p><b>No exceptions</b></p>
		</div>
</div>

<div class="methods">
    <h4 id="dom-performance-getentriesbyname"><code>getEntriesByName</code> method</h4>
	<p>
		The <code>getEntriesByName</code> method returns a
		<a href="#performanceentrylist"><code>PerformanceEntryList</code></a> object that contains a copy of <a href="#performanceentry"><code>PerformanceEntry</code></a> objects, in chronological order with respect to <a href="#dom-performanceentry-starttime">startTime</a>, 
		that have the same value for the <code>name</code> attribute of <a href="#performanceentry"><code>PerformanceEntry</code></a> as the <code>name</code> parameter 
		and, if specified, have the same value for the <code>entryType</code> attribute of <a href="#performanceentry"><code>PerformanceEntry</code></a> as the <code>entryType</code> parameter.
    </p>
		<div class="parameters">
				<p><b>Parameter</b></p>
					<p><a href='http://www.w3.org/TR/WebIDL/#idl-DOMString'><code>DOMString</code></a> <code>name</code></p>
					<p>
						The <a href="#performanceentrylist"><code>PerformanceEntryList</code></a> object that contains a copy of <a href="#performanceentry"><code>PerformanceEntry</code></a> objects
						that have the same value for the <code>name</code> attribute of <a href="#performanceentry"><code>PerformanceEntry</code></a> as the <code>name</code> parameter. 
						If no such <a href="#performanceentry"><code>PerformanceEntry</code></a> objects exist, the <a href="#performanceentrylist"><code>PerformanceEntryList</code></a> <span class='rfc2119'>must</span> be empty.
					</p>
					<p><a href='http://www.w3.org/TR/WebIDL/#idl-DOMString'><code>DOMString</code></a> <code>entryType</code></p>
					<p>
						The <a href="#performanceentrylist"><code>PerformanceEntryList</code></a> object that only contains a copy of <a href="#performanceentry"><code>PerformanceEntry</code></a> objects
						that have the same value for the <code>entryType</code> attribute of <a href="#performanceentry"><code>PerformanceEntry</code></a> as the <code>entryType</code> parameter 
						and have the same value for the <code>name</code> attribute of <a href="#performanceentry"><code>PerformanceEntry</code></a> as the <code>name</code> parameter. 
						If no such <a href="#performanceentry"><code>PerformanceEntry</code></a> objects exist, the <a href="#performanceentrylist"><code>PerformanceEntryList</code></a>
						<span class='rfc2119'>must</span> be empty.
					</p>
				<p><b>Return value</b></p>
				A <a href="#performanceentrylist"><code>PerformanceEntryList</code></a> object.
				<p><b>No exceptions</b></p>
		</div>
</div>

<h3 id="sec-vendor-extensions">4.4 Vendor Extensions</h3>

<p>
  If a vendor-specific proprietary user agent extension is needed to create experimental 
  <a href="#performanceentry"><code>PerformanceEntry</code></a> objects, on getting the 
  <a href="#dom-performanceentry-entrytype"><code>entryType</code></a> IDL attribute, vendors MUST return a DOMString that uses the following convention:
</p>

<p><code>[vendorprefix]-[entrytype]</code></p>

<p>Where,</p>
<ul>
  <li>
    <code>[vendorprefix]</code> is a non-capitalized name that identifies the vendor,
  </li>
  <li>
    <code>[entrytype]</code> is a non-capitalized name given to the <i>type</i> of the interface 
    represented by this <a href="#performanceentry"><code>PerformanceEntry</code></a> object,
  </li>
  <li>
    and the above names are in ASCII.
  </li>
</ul>


<h2 id="references"><span class="secno">5 </span>References</h2>

<h2 id="normative-references"><span class="secno">5.1 </span>Normative References</h2>

<dl id='references-list'>
<dt><a id='rfc2119'>[IETF RFC 2119]</a></dt>
<dd>
 <cite><a href='http://www.ietf.org/rfc/rfc2119.txt'>Key words for use in RFCs to Indicate Requirement Levels</a></cite>, Scott Bradner, Author. Internet Engineering Task Force, March 1997. Available at http://www.ietf.org/rfc/rfc2119.txt. 
</dd>
   <dt>[<a id="NavigationTiming">Navigation Timing</a>]</dt>
   <dd><cite><a href='http://www.w3.org/TR/2012/REC-navigation-timing-20121217/'>Navigation Timing</a></cite>, Zhiheng Wang, Editor. W3C Recommendation, World Wide Web Consortium, December 2012. This version of the Navigation Timing specification is available from http://www.w3.org/TR/2012/REC-navigation-timing-20121217/. The <a href='http://www.w3.org/TR/navigation-timing/'>latest version of Navigation Timing</a> is available at http://www.w3.org/TR/navigation-timing/.</dd>

   <dt>[<a id="HighResolutionTime">High Resolution Time</a>]</dt>
   <dd><cite><a href='http://www.w3.org/TR/2012/REC-hr-time-20121217/'>High Resolution Time</a></cite>, Jatinder Mann, Editor. W3C Recommendation, World Wide Web Consortium, December 2012. This version of the High Resolution Time specification is available from http://www.w3.org/TR/2012/REC-hr-time-20121217/. The <a href='http://www.w3.org/TR/hr-time/'>latest version of High Resolution Time</a> is available at http://www.w3.org/TR/hr-time/.</dd>

   <dt>[<a id="WebIDL">Web IDL</a>]</dt>
   <dd><cite><a href='http://www.w3.org/TR/2012/CR-WebIDL-20120419/'>Web IDL</a></cite>, Cameron McCormack, Editor. World Wide Web Consortium, April 2012. This version of the Web IDL specification is available from http://www.w3.org/TR/2012/CR-WebIDL-20120419/. The <a href='http://www.w3.org/TR/WebIDL/'>latest version of Web IDL</a> is available at http://www.w3.org/TR/WebIDL/.</dd>

</dl>

<h2 id="informative-references"><span class="secno">5.1 </span>Informative References</h2>

<dl id='informative-references-list'>
   <dt>[<a id="UserTiming">User Timing</a>]</dt>
   <dd><cite><a href='http://www.w3.org/TR/2012/CR-user-timing-20120726/'>User Timing</a></cite>, J. Mann, Z. Wang, et al. Editors. World Wide Web Consortium, July 2012. This version of the User Timing specification is available from http://www.w3.org/TR/2012/CR-user-timing-20120726/. The <a href='http://www.w3.org/TR/user-timing/'>latest version of User Timing</a> is available at http://www.w3.org/TR/user-timing/.</dd>
   <dt>[<a id="ResourceTiming">Resource Timing</a>]</dt>
   <dd><cite><a href='http://www.w3.org/TR/2012/CR-resource-timing-20120522/'>Resource Timing</a></cite>, J. Mann, Z. Wang, et al. Editors. World Wide Web Consortium, May 2012. This version of the Resource Timing specification is available from http://www.w3.org/TR/2012/CR-resource-timing-20120522/. The <a href='http://www.w3.org/TR/user-timing/'>latest version of Resource Timing</a> is available at http://www.w3.org/TR/user-timing/.</dd>

</dl>



<h2 class="no-num" id="acknowledgements">Acknowledgements</h2>

<p>We would like to offer our sincere thanks to all the people that we have been
in touch with regarding this draft for their reviews and feedback.</p>
</body>
</html>
